home *** CD-ROM | disk | FTP | other *** search
Text File | 1987-09-27 | 6.1 KB | 222 lines | [TEXT/MACA] |
- (KA6DVN's mailbox procedure modified for TNC-2 by W9KFB on 9/20/87)
- QUIET
- CRAWL OFF
- (MAKE SURE ON 24TH LINE AND BACKSPACE OVER ANY GARBAGE THT MAY BE IN TNC)
- TYPE ^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M^M
- PAUSE 120
- TYPE ^M
- PAUSE
- TYPE ^H^H^H^H
- (GO SETUP THE STRINGS THAT WILL CONTAIN THE CALL AND THE NAME)
- (OF THE FOLKS THAT WE WANT THE PROCEDURE TO RECOGNISE)
- GOSUB SETUPST
- COPYINTO @0, ***** UNATTENDED Mode *****
- :LOOP
- (THE FOLLOWING ONPANIC EXISTS SIMPLY SO THAT THE PROCEDURE CAN)
- (CHECK TO SEE IF OPERATOR DELETED THE MONITOR FILE WHILE)
- (THE PROCEDURE WAS OPERATING)
- (OTHERWISE, PROCEDURE MUST BE EXITTED AND RESTARTED TO CLEAR THE)
- ("A Message is waiting" MESSAGE ON LINE 1)
- (A VERY MINOR CONVIENENCE, BUT WHAT THE HEY)
- ONPANIC JUMPTO LOOP
- PANICAFTER 300
- ERASE @1
- (SEE IF A MONITOR FILE EXISTS - INFORM OPERATOR IF ONE DOES)
- USEROPENI 1,HD-20:PACKET:MONITOR
- IF ERROR JUMPTO ARNDTHIS
- (IF HERE, ONE DOES EXIST, SO INFORM OPERATOR)
- COPYINTO @1, A Message is waiting
- USERCLOSE 1
- :ARNDTHIS
- COPYINTO @2, Waiting for a CONNECT Packet
- @ ON
- SHOW@
- ( WAIT FOR DED ROMS TO SAY WE HAVE A CONNECTION.)
- (SURE HOPE THAT OTHER STATIONS ON FREQUENCY DON'T SEND THIS STRING AS)
- (DATA...A FALSE CONNECT INDICATION WOULD RESULT!!!!!)
- (BOY, SURE WISH RED WOULD BE FLEXIBLE ENOUGH TO)
- (LET US INTERFACE W/ THE TNC'S HOST MODE)
- PROMPT * CONNECTED to
- PAUSE 120
- (GOT A CONNECT PACKET - GET THE PERSONS CALL AND SEND GREETING IF)
- (I KNOW WHO IT IS)
- (GOT CALL FROM LINE 23 AS CARRIAGE RETURN FOLLOWS CONNECT MSG)
- GETLINE 23,B$
- (OPEN THE MONITOR FILE)
- RECA HD-20:PACKET:MONITOR
- TYPE ^M
- TYPE connected at
- TIMEDATE A$
- TYPE A$
- TYPE ^M
- (THE PERSONS CALL IS LOCATED RIGHT BEFORE THE via)
- (change this for different roms)
- INSTR A%,B$,1, [
- (A% NOW CONTAINS OFFSET OF END OF THE PERSONS CALL)
- SUBTRACT A%,17
- (A% NOW CONTAINS LENGTH OF CALL AND CALL STARTS AT POSITION 18)
- (change the 17 in the subtract statement for different roms,)
- (as well as the 18 in the following MID$)
- MID$ C$,18,A%,B$
- (C$ NOW CONTAINS THE CALL)
- (NOW, GO SEE IF WE KNOW WHO IT IS)
- GOSUB FINDNAME
- (FINDNAME USES W$ AS WORK STRING)
- (THE NAME WILL BE IN Z$ IF IT EXISTS)
- LENGTH A%,Z$
- TEST A% <> 0
- (IF YES, WE KNOW WHO IT IS, SO GO SEND GREETING)
- IF YES GOSUB NAMEMSG
- (GO SEND A MESSAGE FILE IF ONE EXISTS)
- GOSUB SENDFILE
- (GO SEND THE COMMON MESSAGE)
- GOSUB MAINMSG
- (IF A DISCONNECT PACKET HASN'T BEEN RECEIVED IN 60 MINUTES, THEN)
- (FORCE A DISCONNECT)
- ONPANIC JUMPTO DISC
- PANICAFTER 3600
- (LIST THE STATUS OF THE CHANNEL SO THAT THE PERSONS CALL WILL)
- (BE IN THE MONITOR FILE {A LAZY WAY OF DOING IT!!!})
- SHORT BREAK
- PAUSE 120
- TYPE C^M
- PAUSE 120
- TYPE CONV^M
- COPYINTO @2, Waiting for a DISCONNECT Packet
- @ ON
- SHOW@
- (CHANGE FOLLOWING PROMPT IF USING DIFFERENT ROMS)
- PROMPT * DISCONNECTED
- :DISC
- (SEND A DISCONNECT COMMAND TO THE TNC)
- SHORT BREAK
- PAUSE
- TYPE DI^M
- :CLOSEIT
- (CLOSE THE MONITOR FILE)
- CLOSE
- JUMPTO LOOP
-
- :MAINMSG
- TYPE Ron is not at the terminal at the moment.^M
- TYPE Red Ryder will save any messages to disk that you might have for him.^M
- TYPE You have 60 minutes to complete, after which a disconnect^M
- TYPE will be forced, assuming you haven't already.^M
- TYPE You may start now and thank you for connecting to W9KFB. CUL - Ron.....^M
- RETURN
-
- :NAMEMSG
- TYPE Hello
- TYPE Z$
- TYPE ,
- TYPE ^M
- TYPE ^M
- RETURN
-
- :SENDFILE
- (THIS WILL SEND A FILE NAMED MSGFILE LOCATED ON A DISC BY THE NAME OF)
- (RR10.0 IF IT EXISTS)
- (IF ONE DOESN'T EXIST, IT DOESN'T MATTER)
- (THE FILE IS SENT FOR EVERY CONNECT, WHETHER THEIR CALL IS IN THE)
- ("NAME" STRINGS OR NOT)
- USEROPENI 2,HD-20:PAKET:MSGFILE
- (IF ERROR, NO MESSAGE FILE, SO JUST RETURN)
- IF ERROR RETURN
- :SENDLOOP
- (IF HERE, A FILE EXISTS, SO TELL RR TO PUT THE FIRST "RECORD" IN)
- (THE STRING M$ - NOTE: A "RECORD" IS A BUNCH OF CHARACTERS FOLLOWED)
- (BY A CARRIAGE RETURN. IT IS YOUR RESPONSIBILITY TO MAKE SURE THAT)
- (EACH LINE TO BE TRANSMITTED ENDS WITH A CR!!)
- ('NOTHER NOTE: RED DROPS THE CR THAT ENDED THE RECORD, SO WE MUST)
- (SEND ONE LATER...)
- USERREAD 2,M$
- (IF ERROR, EITHER END OF FILE OR A REAL ERROR)
- (WE CAN'T DO ANYTHING IN THE PROCEDURE ABOUT REAL ERRORS SO,)
- (BLINDLY ASSUME IT IS EOF AND FINISH UP GRACEFULLY)
- IF ERROR JUMPTO SENDCRS
- (NO ERRORS AND NOT END OF FILE, SO SEND THE "RECORD")
- TYPE M$
- (SEND A CARRIAGE RETURN TO THE TNC TO TELL IT TO TRANSMIT THE LINE)
- TYPE ^M
- (GO GET THE NEXT RECORD, AND CONTINUE UNTIL EOF)
- JUMPTO SENDLOOP
-
- :SENDCRS
- TYPE ^M
- TYPE ^M
- RETURN
-
- :FINDNAME
- (FINDNAME CALLS EXTNAME, "PASSING" W$ AS A "PARAMETER")
- (EXTNAME COMPARES THE CALL IN W$ TO THE)
- (OPERATORS CALL IN C$ {PLACED THERE EARLIER})
- (IF THEY ARE THE SAME, EXTNAME RETURNS THE OPREATORS NAME IN Z$)
- (
- (THIS IS DONE FOR EACH STRING THAT WAS CREATED IN SETUPST, OR)
- (UNTIL A MATCH IS FOUND ON THE CALL)
- COPYINTO W$,D$
- (EXTNAME GETS THE NAME PART OF THE STRING)
- GOSUB EXTNAME
- (SEE IF Z$ HAS A NAME IN IT, IF SO WE ARE DONE HERE)
- LENGTH A%,Z$
- TEST A% <> 0
- (IF YES, RETURN TO THE CALLER, AND THE CALLER WILL TRANSMIT THE NAME)
- IF YES RETURN
- (IF HERE, NOT FOUND SO LOOK AT NEXT ONE)
- COPYINTO W$,E$
- GOSUB EXTNAME
- LENGTH A%,Z$
- TEST A% <> 0
- IF YES RETURN
- COPYINTO W$,F$
- GOSUB EXTNAME
- LENGTH A%,Z$
- TEST A% <> 0
- IF YES RETURN
- COPYINTO W$,G$
- GOSUB EXTNAME
- LENGTH A%,Z$
- TEST A% <> 0
- IF YES RETURN
- COPYINTO W$,H$
- GOSUB EXTNAME
- LENGTH A%,Z$
- TEST A% <> 0
- IF YES RETURN
- COPYINTO W$,I$
- GOSUB EXTNAME
- (NO MORE STRINGS LEFT TO EXAMINE, SO JUST RETURN)
- RETURN
-
-
- :EXTNAME
- (MAKE SURE Z$ IS EMPTY)
- ERASE Z$
- (SEE IF W$ HAS THE CALL WE ARE LOOKING FOR)
- CONTAINS W$,C$
- IF NO RETURN
- (IF HERE, THIS IS THE ONE, SO EXTRACT THE NAME)
- (FIND THE SPACE DELIMITER - )
- (SPACE WAS TYPED BY ME AFTER LAST COMMA IN NEXT INSTRUCTION)
- INSTR A%,W$,1,
- (A% HAS OFFSET OF FIRST CHAR IN NAME)
- LENGTH B%,W$
- SUBTRACT B%,A%
- (B% HAS LENGTH OF NAME)
- RIGHT$ Z$,B%,W$
- (Z$ NOW HAS THE NAME)
- RETURN
-
- :SETUPST
- (CREATE THE CALL/NAME STRINGS OF THE FOLKS WE TALK WITH THE MOST)
- (
- (IF USING MORE OR LESS {OR FOR THAT MATTER, DIFFERENT} STRINGS THAN)
- (WHAT ARE USED HERE, )
- ( FINDNAME MUST BE MODIFIED TO HANDLE THE DIFFERENT STRINGS )
- COPYINTO D$,KB6NVH Brian
- COPYINTO E$,KB6NVH-15 Brian
- COPYINTO F$,N6AS Phil
- COPYINTO G$,N6AS-15 Phil
- COPYINTO H$,N6PHJ-15 Ray
- COPYINTO I$,W9KFB Ron
- RETURN